/**
 * @file
 * @author  Tsin Smith <tsin.creator@gmail.com>
 *
 */

#ifndef __TSIN_SELECTOR_SELECTOR_HPP__
#define __TSIN_SELECTOR_SELECTOR_HPP__

#include <tsin/selector/common.hpp>
#include <tsin/util/Logger.hpp>
#include <tsin/library/Game.hpp>

namespace tsin {

        /**
         * @class Selector
         * @ingroup selector
         * @brief Select a Game to be played by all means.
         */
        class SELECTOR_DLLEXPORT Selector
        {
        public:
                /**
                 * Select a Game.
                 */
                virtual Game *select() = 0;
        };

}

#endif /* __TSIN_SELECTOR_SELECTOR_HPP__ */
